namespace SPI.AgentServer.Services.Security;

public interface ISqlValidator
{
    Task<SqlValidationResult> ValidateAsync(string sql);
}

public class SqlValidationResult
{
    public bool IsValid { get; set; }
    public List<string> Errors { get; set; } = new();
    public List<string> Warnings { get; set; } = new();
    public SqlSecurityInfo SecurityInfo { get; set; } = new();
}

public class SqlSecurityInfo
{
    public bool ContainsSensitiveFields { get; set; }
    public List<string> SensitiveFields { get; set; } = new();
    public bool RequiresDataMasking { get; set; }
    public List<string> BlockedOperations { get; set; } = new();
}
